package com.oncecloud.devops.client.service;

import java.sql.SQLException;
import java.util.List;

import com.oncecloud.devops.client.entity.Role;
import com.oncecloud.devops.client.entity.RoleAction;
import com.oncecloud.devops.client.entity.User;
import com.oncecloud.devops.client.entity.UserRoleEnv;

/**
 * @author xzg
 * 角色相关的服务接口
 *
 */
public interface RoleService {

	/**
	 * 查询用户下可以操作的角色信息
	 * @return
	 */
	public List<Role> getRolePermmitMod(User user);
	
	/**
	 * 增加角色信息
	 * @param role
	 * @return
	 */
	public void addRole(Role role);
	
	/**
	 * 增加用户角色信息
	 * @param ure
	 * @return
	 */
	public int addUserRole(List<UserRoleEnv> userRoleEnvs);
	
	
	/**
	 * 为角色增加权限
	 * @param roleAction
	 * @return
	 */
	public int addRoleAuthority(List<RoleAction> roleActions);
	
	
	/**
	 * 修改角色信息
	 * @param role
	 * @return
	 * @throws SQLException
	 */
	public int updateRoleById(Role role) throws SQLException;
	
	/**
	 * 批量删除角色权限
	 * @param list
	 * @return
	 * @throws SQLException
	 */
	public int deleteRoleAction(List<Integer> list) throws SQLException;
	
}
